﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net.Mail;
using System.Net;

namespace TMDT_Nhom1A.utils
{
    public class User
    {
        public static bool sendMail(string mailTo,string userName,string password,string path,string uid)
        {
            try
            {
                System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");


                bool result = regex.IsMatch(mailTo);
                if (result == false)
                {
                    return result;
                }
                else
                {
                    

                    SmtpClient client = new SmtpClient("smtp.gmail.com", 25);

                    client.EnableSsl = true;

                    MailAddress from = new MailAddress("doanlang.mh@gmail.com", "Công Ty Thiết Bị Điện Nhóm 1A");

                    MailAddress to = new MailAddress(mailTo, "Đoàn Lãng");

                    MailMessage message = new MailMessage(from, to);
                    message.IsBodyHtml = true;
                    message.Body = "<h1>Đây là email kích hoạt tài khoản</h1>";
                    message.Body += "Username : " + userName + "<br/>";
                    message.Body += "Password : " + password;
                    message.Body += "<br/>";
                    message.Body += "<a href=\"" + path + "ActivateCustomerAccount.aspx?uid="+ uid + "\" target=\"blank\" > link kích hoạt </a>";

                    message.Subject = "Kích Hoạt Tài Khoản";
                    
                    NetworkCredential myCreds = new NetworkCredential("doanlang.mh@gmail.com", "0937967194");

                    client.Credentials = myCreds;

                    try
                    {

                        client.Send(message);
                        return true;
                    }
                    catch (Exception ex)
                    {
                        return false;
                    }

                }
            }
            catch
            {
                return false;
            } 
        }

        public static bool sendMailToMuaChung(string mailTo,string path)
        {
            try
            {
                System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");


                bool result = regex.IsMatch(mailTo);
                if (result == false)
                {
                    return result;
                }
                else
                {


                    SmtpClient client = new SmtpClient("smtp.gmail.com", 25);

                    client.EnableSsl = true;

                    MailAddress from = new MailAddress("doanlang.mh@gmail.com", "Công Ty Thiết Bị Điện Nhóm 1A");

                    MailAddress to = new MailAddress(mailTo, "Đoàn Lãng");

                    MailMessage message = new MailMessage(from, to);
                    message.IsBodyHtml = true;
                    message.Body = "<h1>Yêu Cầu Sử Dụng webservice của bạn đã được chấp nhận. Sau đây là link của chúng tôi:</h1>";
                    message.Body += "<br/>";
                    message.Body += "<a href=\"" + path + "Service/couponWebService.asmx\" target=\"blank\" > Our Webservice</a>";

                    message.Subject = "Kích Hoạt Tài Khoản";

                    NetworkCredential myCreds = new NetworkCredential("doanlang.mh@gmail.com", "0937967194");

                    client.Credentials = myCreds;

                    try
                    {

                        client.Send(message);
                        return true;
                    }
                    catch (Exception ex)
                    {
                        return false;
                    }

                }
            }
            catch
            {
                return false;
            }
        }

        public static bool sendMailToCustomerB2B(Cart cart,string mailTo, string path)
        {
            try
            {
                System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");


                bool result = regex.IsMatch(mailTo);
                if (result == false)
                {
                    return result;
                }
                else
                {


                    SmtpClient client = new SmtpClient("smtp.gmail.com", 25);

                    client.EnableSsl = true;

                    MailAddress from = new MailAddress("doanlang.mh@gmail.com", "Công Ty Thiết Bị Điện Nhóm 1A");

                    MailAddress to = new MailAddress(mailTo, "Đoàn Lãng");

                    MailMessage message = new MailMessage(from, to);
                    message.IsBodyHtml = true;
                    message.Body = "<h1>Yêu cầu thanh toán của bạn đã được chập nhận. Đây là bước 1 trong quá trình thanh toán. Mã Xác Nhận của bạn là: "+ cart.OrderB2BID + "</h1>";
                    message.Body += "<br/>";
                    message.Body += "Bạn đã đặt những sản phẩm sau:";
                    message.Body += "<ul>";
                    foreach (MyOrderProduct_Online item in cart.GetList())
                    {
                        message.Body += "<li> Mã Sản Phẩm : " + item.ElectricDeviceID + " / Số Lượng:" + item.Quantity + "</li>";    
                    }
                    message.Body += "</ul>";
                    message.Body += "<br/>";
                    message.Body += "Tổng Tiền : " + cart.CalulateTotalPrice().ToString() + "VND";

                    message.Body += "<p>Bạn Vui lòng xác nhận bằng cách click vào link sau:</p>";
                    string url = path + "Customer/ThanhToan_Buoc2_XacNhan.aspx?MaXacNhan=" + cart.OrderB2BID;
                    message.Body += "<a href=\"" + url + "\" target=\"blank\" > Link Xác Nhận</a>";

                    message.Subject = "Xác nhận thanh toán";

                    NetworkCredential myCreds = new NetworkCredential("doanlang.mh@gmail.com", "0937967194");

                    client.Credentials = myCreds;

                    try
                    {

                        client.Send(message);
                        return true;
                    }
                    catch (Exception ex)
                    {
                        return false;
                    }

                }
            }
            catch
            {
                return false;
            }
        }
    }
}
